<?php
/*
 * Copyright (c) 2008 Jo�o Paulo Cirino Silva de Novais <joaopaulonovais@gmail.com>
 *
 */

class Paroquia {

    /*
     * Esse m�todo � o respons�vel por orquestrar as a��es das classes de vis�o
     * e dados.
     */
    static function executar() {

        $acao              = isset($_REQUEST["acao"])? $_REQUEST["acao"]: null;
        $visao             = new ParoquiaView("modelo/paroquia.html");
        $paroquia          = Array();
        $missas_confissoes = Array();

        $paroquia["cod_paroquia"]        = isset($_REQUEST["cod_paroquia"])        ? $_REQUEST["cod_paroquia"]        : null;
        $paroquia["cod_arqui_diocese"]   = isset($_REQUEST["cod_arqui_diocese"])   ? $_REQUEST["cod_arqui_diocese"]   : null;
        $paroquia["nom_arqui_diocese"]   = isset($_REQUEST["nom_arqui_diocese"])   ? $_REQUEST["nom_arqui_diocese"]   : null;
        $paroquia["cod_pessoa_paroquia"] = isset($_REQUEST["cod_pessoa_paroquia"]) ? $_REQUEST["cod_pessoa_paroquia"] : null;
        $paroquia["nom_pessoa_paroquia"] = isset($_REQUEST["nom_pessoa_paroquia"]) ? $_REQUEST["nom_pessoa_paroquia"] : null;
        $paroquia["cod_pessoa_paroco"]   = isset($_REQUEST["cod_pessoa_paroco"])   ? $_REQUEST["cod_pessoa_paroco"]   : null;
        $paroquia["nom_pessoa_paroco"]   = isset($_REQUEST["nom_pessoa_paroco"])   ? $_REQUEST["nom_pessoa_paroco"]   : null;

        switch ($acao) {

            case "Gravar":

                if (! is_null($paroquia["cod_paroquia"])) {

                    ParoquiaDAO::alterar($paroquia);
                } else {

                    ParoquiaDAO::inserir($paroquia);
                }

                $registros = ParoquiaDAO::consultar();
                $resultado = $visao->consultar($registros);

                break;

            case "Remover":

                if (! is_null($paroquia["cod_paroquia"])) {

                    ParoquiaDAO::remover($paroquia);
                }

                $registros = ParoquiaDAO::consultar();
                $resultado = $visao->consultar($registros);

                break;

            case "Consultar":

                $registros = ParoquiaDAO::consultar($paroquia);

                if (! DB::isError($registros)) {

                    $resultado = $visao->consultar($registros);
                }

                break;

            default: // $acao == "Editar"

                if (! is_null($paroquia["cod_paroquia"])) {
                    
                    $registros         = ParoquiaDAO::consultar($paroquia);
                    $missas_confissoes = Missa_confissaoDAO::consultar($paroquia);

                    if (! DB::isError($registros)) {

                        $registro          = $registros[0];
                        
                    }
                } else {

                    $registro          = $paroquia;
                    $missas_confissoes = null;
                }

                $visao->setMissas_confissoes($missas_confissoes);
                $resultado = $visao->editar($registro);

        }

        return $resultado;
    }

    static function consultarMissa() {

        $cod_paroquia = isset($_REQUEST["cod_paroquia"])? $_REQUEST["cod_paroquia"]: null;
        $dia_semana   = isset($_REQUEST["sig_dia_semana"])? $_REQUEST["sig_dia_semana"]: null;

        echo ParoquiaDAO::consultarMissa($cod_paroquia, $dia_semana, TRUE, TRUE);

    }

    static function consultarDiasHorarios() {

        $cod_paroquia = isset($_REQUEST["cod_paroquia"])? $_REQUEST["cod_paroquia"]: null;

        echo Missa_confissaoDAO::consultarDiasHorarios($cod_paroquia, $dia_semana, TRUE, TRUE);

    }
}

?>
